Representation of UVAS objects in Verse
=======================================

Author: Peter Lundn
Version: 0.0.5
History:
	v0.0.5 2006-03-20 PLu, added link name for links from sound sources to sound streams

	v0.0.4 2006-03-09 PLu, added tag name for URL representation in SoundStream mapping

	v0.0.3 2006-03-09 PLu, added representation of materials

	v0.0.2 2006-01-09 PLu, changed representation of sound streams
		changed case 1) of sound stream representation
		changed representation of listeners
		added representation of state.
		
	v0.0.1 2005-12-20 PLu

This document describes how UVAS objects are represented in Verse.

Sound Sources
=============

UVAS SoundSource is mapped to a V_NT_OBJECT node. 
V_NT_OBJECT node that has a link named "audio" to a V_NT_AUDIO node is considered as a SoundSource.
The position and orientation of a V_NT_OBJECT node can be directly mapped to UVAS.

Sound Streams
=============
A UVAS SoundStream is mapped to a V_NT_AUDIO node.

The URL of the UVAS SoundStream is created as follows.
There are three different cases:
1) the  V_NT_AUDIO node has a tag named 'url' of string type in the 'uvas' tag group, the URL is strored in the data section of the tag.  
The data of the tag specifies the URL. This case has priority over the others.

2) the V_NT_AUDIO node is a stream, then the scheme part of the URL is "verse_as" 
the rest of the URL indentifies the verse server and the audio node.
example: verse_as://verse.server.kth.se:45678/stream_node_1

3) the V_NT_AUDIO node is an audio buffer, then the scheme part of the URL is "verse_ab"
the rest of the URL indentifies the verse server and the audio node.
example: verse_ab://verse.server.kth.se:45678/buffer_node_1

It is not clear at the time of writing this document how the state of a sound stream can be represented.

Listeners
==========
A UVAS listener is mapped to a V_NT_OBJECT node which has a tag group name "listener"
The name of the node should be uniquely identifing the listener. 

The position and orientation of a V_NT_OBJECT node can be directly mapped to UVAS.

Materials
=========
A UVAS material is mapped to a V_NT_MATERIAL node containing one VMFOutput fragment per property and resolution.
A property may have more then one resolution. Which property and its resolution is defined by the name of the fragment.

Property names are:
acou_reflect_10 = specular reflection (absorption) in 10 ISO frequency bands
(acou_reflect_32 = specular reflection (absorption) in 32 ISO frequency bands)
acou_trans_10 = transmission in 10 ISO frequency bands
(acou_trans_32 = transmission in 32 ISO frequency bands)
acou_diffuse_10 = diffuse reflection in 10 ISO frequency bands
(acou_diffuse_32 = diffuse reflection in 32 ISO frequency bands)

The 32 band resolution is not use in the current verseion of the system, it has to be defined how the data should be
represented.

Data is encoded in VMFMatrix fragment as real64 numbers [0-1]. The VMFOutput fragment is pointing to the VMFMatrix fragment,
the material can be one sided or two sided, in the first case front is pointing to the VMFMatrix and back is zero in
the second case both front and back is pointing to the VMFMatrix that contains the data.

